﻿using Dapper;
using Estsh.Core.Base;
using Estsh.Core.Model.Extend.Models;
using Estsh.Core.Model.Result;
using Estsh.Core.Models;
using Estsh.Core.Repositories;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Estsh.Core.Wms.IRepositories
{
	public interface IProductionReportingRepository : IBaseRepository<BaseEntity>
	{

		public List<Syspdline_Extend> GetSysPdlineList(string userId);

		public List<MesWorkOrder_Extend> GetWorkOrderByPdlineId(string pdlineId);

		public List<SysEmpPdline> GetEmPdlineByOrderNoAndPdline(string pdlineId, string orderNo);

		public int SaveEmpByPdline(string empNo, string pdlineId, string orderNo, string loginId);
		public List<SysPart_Extend> GetworkOrderByPartType(string partId);
		public List<SysStock_Extend> GetSysStockByCartonNo(string cartonNo);
		public List<WmsRackPackage_Extend> GetWmsRackByCartonNo(string cartonNo);
		public List<SysEquipment> GetEquipmentByModelNo(string modelNo);
		public List<Syspdline_Extend> GetPdlineByPdlineId(string pdlineId);
		public List<MesWorkOrder_Extend> GetWorkOrderByOrderNoByPdlineId(string orderNo, string pdlineId);
		public List<SysBomDetail> GetBomDetailByPartId(string partId);
		public List<SysPart_Extend> GetSysPartByPartId(string partId);
		public List<MesWorkOrder_Extend> GetWorkOrderByPdlineIdAndOrderNo(string pdlineId, string orderNo);
		public List<WmsRack_Extend> GetWmsRack(string rackNo);
		public List<GWorkOrderSn_Extend> GetGWrokOrderSn(string orderNo);
		public List<SysExemptionList> Getqc();

		public string GetOrderNo(string stockOrder, string p);
		public int SQLTransaction(List<string> sqlStrings, List<DynamicParameters> parameterList);
	}
}
